package com.ict.web.dto;

import com.ict.common.utils.DateUtils;
import com.ict.common.utils.bean.BeanUtils;
import com.ict.common.utils.uuid.IdUtils;
import com.ict.web.domain.IotDeviceInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 物联设备信息对象 yzq_Iot_device_info
 *
 * @author ruoyi
 * @date 2022-03-07
 */
@Data
public class InsertIotDeviceInfoDto {
    /** 产品名称 */
    @ApiModelProperty(value = "产品名称")
    private String productName;

    /** 参数 */
    @ApiModelProperty(value = "参数")
    private String deviceParam;

    /** 数量 */
    @ApiModelProperty(value = "数量")
    private Integer deviceNum;

    /** 建设地点 */
    @ApiModelProperty(value = "建设地点")
    private String constructionSite;

    /** 建设方式 */
    @ApiModelProperty(value = "建设方式")
    private String constructionWay;

    /** 设备功能 */
    @ApiModelProperty(value = "设备功能")
    private String deviceFunction;

    /** 纬度 */
    @ApiModelProperty(value = "纬度")
    private Double latitude;

    /** 经度 */
    @ApiModelProperty(value = "经度")
    private Double longitude;

    /** 半径 */
    @ApiModelProperty(value = "半径")
    private Double radius;

    public static IotDeviceInfo of(InsertIotDeviceInfoDto addDto){
        IotDeviceInfo bean = new IotDeviceInfo();
        BeanUtils.copyProperties(addDto,bean);

        //设置设备id
        bean.setLotDeviceId(IdUtils.snowId());

        //设置更新时间和创建时间
        bean.setCreateTime(DateUtils.getNowDate());
        bean.setUpdateTime(DateUtils.getNowDate());

        //设置删除状态
        bean.setDelFlag(IotDeviceInfo.DELETE_STATUS_NORMAL);

        return bean;
    }
}
